package codetrainning.test6;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
import java.util.zip.DataFormatException;

/*
请编写程序，从控制台接收一个“生日”，格式：yyyy-MM-dd，程序要能够计算并打印他来到世界xx天。

注意：“生日”必须早于“当前日期”，否则提示：生日必须早于当前日期！
 */
public class Demo6 {
    public static void main(String[] args) throws ParseException {
        Scanner sc = new Scanner(System.in);

        //1.设置格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

        //2.记录现在的时间
        Date date = new Date();
        long nowTime = date.getTime();

        //3.接收一个时间
        long birthdayTime;
        long time;
        while (true) {
            try {
                System.out.println("请输入生日：");
                String birthday = sc.next();
                birthdayTime = sdf.parse(birthday).getTime();
                if(birthdayTime > nowTime){
                    System.out.println("请输入正确的时间");
                }else {
                    time = nowTime - birthdayTime;
                    break;
                }
            } catch (ParseException e) {
                System.out.println("请按照xxxx-XX-xx输入生日！");
            }
        }

        //计算出生天数,毫秒/秒/分/时/天
        long day = time /1000/60/60/24;


        if (day > 0) {
            System.out.println("出生至今"+day+"天");
        }else {
            System.out.println("生日必须早于当前日期！");
        }

    }

}
